﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Web.UI;
using System.Web.UI.WebControls;
using System.Data.SqlClient;
using System.IO;
using System.Net;
using System.Net.Mail;
using System.Text;
using System.Drawing;
using System.ComponentModel;
using System.Windows.Forms;
using System.Data;

namespace Quaack
{
    public partial class VerwijderProfiel : System.Web.UI.Page
    {
        protected void ClkAnnuleerWijzigProfiel(object sender, EventArgs e)
        {
            Server.Transfer("default.aspx");
        }

        /*   geef melding op website dat een e-mail is aangemaakt   */
        protected void Page_Load(object sender, EventArgs e)
        {
            if (User.Identity.IsAuthenticated)
            {
                String user = User.Identity.Name;
                String GekozenProfiel = DDProfielnaam.SelectedValue;
                int userID = 0;
                SqlConnection sqlConn = new SqlConnection(
                "Data Source=.\\sqlexpress;Initial Catalog=Quaack;Integrated Security=True;MultipleActiveResultSets=True;Application Name=EntityFramework");

                /*   Profileid opvragen van de ingelogde gebruiker   */
                SqlCommand GetUserID = new SqlCommand("SELECT profileid from profile where username = '" + user + "'", sqlConn);

                /*   open database, haal de userID op en sluit database   */
                sqlConn.Open();
                object sqlObject = GetUserID.ExecuteScalar();
                if (sqlObject != null)
                {
                    // userID zal uiteindelijk gebruikt worden om de sender aan te geven in de message tabel
                    userID = Convert.ToInt32(sqlObject.ToString());
                }
                sqlConn.Close();
                SqlDataSource1.SelectCommand = "SELECT [profileid], [username], [tempblocked] FROM [profile] WHERE ([username] = @username2)";

                bool administrator = false;
                /*   Profileid opvragen van de ingelogde gebruiker   */
                SqlCommand GetAdmin = new SqlCommand("SELECT administrator from profile where username = '" + user + "'", sqlConn);

                /*   open database, haal de userID op en sluit database   */
                sqlConn.Open();
                object admin = GetUserID.ExecuteScalar();
                // userID zal uiteindelijk gebruikt worden om de sender aan te geven in de message tabel
                administrator = Convert.ToBoolean(admin);
                sqlConn.Close();
                if (administrator == true)
                {
                    BtnVerwijderProfiel.Visible = true;
                }

            }

            else
            {
                String user = User.Identity.Name;
                String GekozenProfiel = DDProfielnaam.SelectedValue;
                int userID = 0;
                SqlConnection sqlConn = new SqlConnection(
                "Data Source=.\\sqlexpress;Initial Catalog=Quaack;Integrated Security=True;MultipleActiveResultSets=True;Application Name=EntityFramework");

                /*   Profileid opvragen van de ingelogde gebruiker   */
                SqlCommand GetUserID = new SqlCommand("SELECT profileid from profile where username = '" + user + "'", sqlConn);

                /*   open database, haal de userID op en sluit database   */
                sqlConn.Open();
                object sqlObject = GetUserID.ExecuteScalar();
                if (sqlObject != null)
                {
                    // userID zal uiteindelijk gebruikt worden om de sender aan te geven in de message tabel
                    userID = Convert.ToInt32(sqlObject.ToString());
                }
                sqlConn.Close();
                SqlDataSource1.SelectCommand = "[profileid], [username], [tempblocked], [profile] FROM [profile] WHERE ([username] = @username2)";
            }
        }

        protected void ClkVerwijderProfiel(object sender, EventArgs e)
        {
            String user = User.Identity.Name;
            int userID = 0;
            SqlConnection sqlConn = new SqlConnection(
            "Data Source=.\\sqlexpress;Initial Catalog=Quaack;Integrated Security=True;MultipleActiveResultSets=True;Application Name=EntityFramework");

            /*   Profileid opvragen van de ingelogde gebruiker   */
            SqlCommand GetUserID = new SqlCommand("SELECT profileid from profile where username = '" + user + "'", sqlConn);

            /*   open database, haal de userID op en sluit database   */
            sqlConn.Open();
            object sqlObject = GetUserID.ExecuteScalar();
            if (sqlObject != null)
            {
                // userID zal uiteindelijk gebruikt worden om de sender aan te geven in de message tabel
                userID = Convert.ToInt32(sqlObject.ToString());
            }
            sqlConn.Close();
            SqlDataSource1.SelectCommand = "SELECT [profileid], [username], [tempblocked] FROM [profile] WHERE ([username] = @username2)";

            bool administrator = false;
            /*   Profileid opvragen van de ingelogde gebruiker   */
            SqlCommand GetAdmin = new SqlCommand("SELECT administrator from profile where username = '" + user + "'", sqlConn);

            /*   open database, haal de userID op en sluit database   */
            sqlConn.Open();
            object admin = GetUserID.ExecuteScalar();
            // userID zal uiteindelijk gebruikt worden om de sender aan te geven in de message tabel
            administrator = Convert.ToBoolean(admin);
            sqlConn.Close();
            if (administrator == true)
            {
                String GekozenProfiel = DDProfielnaam.SelectedValue;
                SqlCommand UpdateProfiel = new SqlCommand("UPDATE [profile] SET [tempblocked] = 1 WHERE [username] = '" + GekozenProfiel + "'", sqlConn);
                sqlConn.Open();
                UpdateProfiel.ExecuteNonQuery();
                sqlConn.Close();
                MessageBox.Show(new Form() { TopMost = true }, "Gebruiker verwijderd.");
                Server.Transfer("VerwijderProfiel.aspx");
                return;
            }
            else
            {
                MessageBox.Show(new Form() { TopMost = true }, "U bent geen administrator. U mag geen gebruikers verwijderen.");
                return;
            }

        }
    }
}

